<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Use 'zoom' event in order to zoom on specific areas of the map</title>
    <style type="text/css">
        body {
            color: #5d5d5d;
            font-family: Helvetica, Arial, sans-serif;
        }

        h1 {
            font-size: 30px;
            margin: auto;
            margin-top: 50px;
        }

        .container {
            max-width: 800px;
            margin: auto;
        }

        /* Specific mapael css class are below
         * 'mapael' class is added by plugin
        */

        .mapael .mapTooltip {
            position: absolute;
            background-color: #fff;
            moz-opacity: 0.70;
            opacity: 0.70;
            filter: alpha(opacity=70);
            border-radius: 10px;
            padding: 10px;
            z-index: 1000;
            max-width: 200px;
            display: none;
            color: #343434;
        }

        /* For all zoom buttons */
        .mapael .zoomButton {
            background-color: #fff;
            border: 1px solid #ccc;
            color: #000;
            width: 15px;
            height: 15px;
            line-height: 15px;
            text-align: center;
            border-radius: 3px;
            cursor: pointer;
            position: absolute;
            top: 0;
            font-weight: bold;
            left: 10px;

            -webkit-user-select: none;
            -khtml-user-select : none;
            -moz-user-select: none;
            -o-user-select : none;
            user-select: none;
        }

        /* Reset Zoom button first */
        .mapael .zoomReset {
            top: 10px;
        }

        /* Then Zoom In button */
        .mapael .zoomIn {
            top: 30px;
        }

        /* Then Zoom Out button */
        .mapael .zoomOut {
            top: 50px;
        }

        .mapael .map {
            position: relative;
        }

        .mapcontainer {
            margin: 10px;
        }
    </style>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js" charset="utf-8"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"
            charset="utf-8"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.2.7/raphael.min.js" charset="utf-8"></script>
    <script src="../../js/jquery.mapael.js" charset="utf-8"></script>
    <script src="../../js/maps/france_departments.js" charset="utf-8"></script>
    <script src="../../js/maps/world_countries.js" charset="utf-8"></script>
    <script src="../../js/maps/usa_states.js" charset="utf-8"></script>

    <script type="text/javascript">
        $(function () {
            $maparea2 = $(".mapcontainer");
            $maparea2.mapael({
                map: {
                    name: "france_departments",
                    zoom: {
                        enabled: true,
                        maxLevel: 25
                    },
                    defaultPlot: {
                        attrs: {
                            opacity: 0.6
                        }
                    },
                    defaultArea: {
                        eventHandlers: {
                            click: function (e, id) {
                                $maparea2.trigger('zoom', {
                                    area: id,
                                    areaMargin: 10
                                });
                            }
                        }
                    }
                },
                plots: {
                    'paris': {
                        latitude: 48.86,
                        longitude: 2.3444,
                        tooltip: {content: "<span style=\"font-weight:bold;\">City :</span> Paris"},
                        text: {content: "Paris"}
                    },
                    'lyon': {
                        latitude: 45.758888888889,
                        longitude: 4.8413888888889,
                        tooltip: {content: "<span style=\"font-weight:bold;\">City :</span> Lyon"},
                        text: {content: "Lyon"}
                    }
                }
            });

            $('#gotolyon').on('click', function () {
                $maparea2.trigger('zoom', {level: 10, latitude: 45.758888888889, longitude: 4.8413888888889});
            });

            $('#gotoparis').on('click', function () {
                $maparea2.trigger('zoom', {level: 10, plot: 'paris'});
            });

            $('#gotogironde').on('click', function () {
                $maparea2.trigger('zoom', {area: 'department-33'});
            });

            $('#clearzoom').on('click', function () {
                $maparea2.trigger('zoom', {level: 0});
            });
        });
    </script>

</head>

<body>
<div class="container">

    <h1>Use 'zoom' event in order to zoom on specific coordinate, plot or area</h1>
    <input type="button" value="Zoom on Paris" id="gotoparis"/>
    <input type="button" value="Zoom on Lyon" id="gotolyon"/>
    <input type="button" value="Zoom on Gironde department" id="gotogironde"/>
    <input type="button" value="Clear zoom" id="clearzoom"/>
    <span><em>You can also click on an area directly.</em></span>

    <div class="mapcontainer">
        <div class="map">
            <span>Alternative content for the map</span>
        </div>
    </div>

    <p><b>All example for jQuery Mapael are available <a href="https://www.vincentbroute.fr/mapael/">here</a>.</b></p>

</div>


</body>
</html>
